home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 2
/
Aminet AMIGA CDROM (1994)(Walnut Creek)[Feb 1994][W.O. 44790-1].iso
/
Aminet
/
dev
/
asm
/
TBSource.lha
/
V舐iPaletti
/
VP.S
Wrap
Text File
|
1993-07-02
|
18KB
|
916 lines
*************************************************
* *
* (C)opyright 1993 *
* *
* Tomi Blinnikka *
* *
* Don't try to understand the code *
* *
* Version 1.00 15/04/1993 *
* -18/04/1993 *
* *
* BUGS: Command Line Option '?' caused error. *
* Display problems under 2.04. *
* *
* Version 1.01 18/04/1993 *
* *
*************************************************
INCLUDE "JMPLibs.i"
INCLUDE "libraries/dos.i"
INCLUDE "libraries/dosextens.i"
INCLUDE "graphics/rastport.i"
INCLUDE "libraries/gadtools.i"
INCLUDE "XREF:2.0.xref"
INCLUDE "XREF:gfx.xref"
INCLUDE "XREF:intuition.xref"
INCLUDE "XREF:exec.xref"
INCLUDE "XREF:dos.xref"
MainLeft: EQU 17
MainTop: EQU 10
SliderWidth: EQU 200
SliderHeight: EQU 24
SliderTxtWidth: EQU 160
HelpTop: EQU MainTop+3*(SliderHeight+INTERHEIGHT)+INTERHEIGHT
HelpHeight: EQU 80
TRUE: EQU 1
FALSE: EQU 0
Depth: EQU 3
BGPen: EQU 4
section VP,CODE
Start: push d2-d7/a2-a6
push a0
sub.l a1,a1 ;Find our task
lib Exec,FindTask
move.l d0,OurTask
move.l d0,a4
move.l pr_CLI(a4),d0
bne OpenDos
lea.l pr_MsgPort(a4),a0
lib Exec,WaitPort
lea.l pr_MsgPort(a4),a0
lib Exec,GetMsg
move.l d0,WBMsg
OpenDos: openlib Dos,NoDos
tst.l WBMsg
beq CLIStart
pull a0
lea.l CONName,a0
move.l a0,d1
move.l #MODE_OLDFILE,d2
lib Dos,Open
move.l d0,CONFile
move.l d0,_stdout
beq NoCON
bra MainStart
CLIStart: lib Dos,Output
move.l d0,_stdout
pull a0
cmp.b #'?',(a0)
beq Usage
MainStart: openlib GadTools,NoGT
openlib Intuition,NoInt
openlib Gfx,NoGfx
;Close Workbench screen
lib Intuition,CloseWorkBench
;Open screen and main window
lea.l NewScreen1,a0
lea.l Screen1TagList,a1
lib Intuition,OpenScreenTagList
move.l d0,Screen1
beq NoScreen
;Get ViewPort
move.l Screen1,d0
add.l #$2c,d0
move.l d0,VP1
;Set sizes etc
lea.l NewWindow1,a0
move.l Screen1,a1
move.l a1,nw_Screen(a0)
move.l sc_Width(a1),nw_Width(a0)
clr.l d0
move.b sc_BarHeight(a1),d0
add.b #1,d0
add.w d0,nw_TopEdge(a0)
sub.w d0,nw_Height(a0)
;Do GadTools preparations, gadgets and menus
;Get visualinfo
move.l Screen1,a0
lea.l Screen1TagList,a1
lib GadTools,GetVisualInfoA
move.l d0,vi
;Make gadget stuff
lea.l glist,a0
lib GadTools,CreateContext
move.l d0,ContextGad
beq NoContextGad
move.l glist,a0
lea.l NGSliderGad1,a1
move.l #SLIDER_KIND,d0
move.l vi,gng_VisualInfo(a1)
lea.l SliderTagList1,a2
lib GadTools,CreateGadgetA
move.l d0,SliderGad1
move.l d0,a0
lea.l NGSliderGad2,a1
move.l #SLIDER_KIND,d0
move.l vi,gng_VisualInfo(a1)
lea.l SliderTagList2,a2
lib GadTools,CreateGadgetA
move.l d0,SliderGad2
move.l d0,a0
lea.l NGSliderGad3,a1
move.l #SLIDER_KIND,d0
move.l vi,gng_VisualInfo(a1)
lea.l SliderTagList3,a2
lib GadTools,CreateGadgetA
move.l d0,SliderGad3
move.l d0,a0
;Do the menu stuff
lea.l MNProjectMenu1,a0
lea.l MenuTagList,a1
lib GadTools,CreateMenusA
move.l d0,mlist
beq NoMenus
move.l mlist,a0
move.l vi,a1
lea.l MenuTagList,a2
lib GadTools,LayoutMenusA
lea.l NewWindow1,a0
lib Intuition,OpenWindow
move.l d0,Window1
beq NoWindow
move.l d0,a0
move.l $32(a0),RP1
;move requesters to Window1
move.l OurTask,a0
move.l pr_WindowPtr(a0),OldTaskWinPtr
move.l Window1,$b8(a0)
;Add menus to window 1
move.l Window1,a0
move.l mlist,a1
lib Intuition,SetMenuStrip
;Fill window with BGPen
move.l RP1,a1
move.l #BGPen,d0
lib Gfx,SetRast
;Re-draw window frame
move.l Window1,a0
lib Intuition,RefreshWindowFrame
;Set APen to background color
move.l RP1,a1
clr.l d0
lib Gfx,SetAPen
;Clear area for gadgets
move.l RP1,a1
move.l #MainLeft-INTERWIDTH,d0
move.l #MainTop-INTERHEIGHT,d1
move.l #MainLeft-INTERWIDTH+SliderWidth+SliderTxtWidth+INTERWIDTH-1,d2
move.l #MainTop-INTERHEIGHT+3*(SliderHeight+INTERHEIGHT)+INTERHEIGHT-1,d3
lib Gfx,RectFill
;Draw a box around sliders
move.l RP1,a0
move.l #MainLeft-INTERWIDTH,d0
move.l #MainTop-INTERHEIGHT,d1
move.l #SliderWidth+SliderTxtWidth+INTERWIDTH,d2
move.l #3*(SliderHeight+INTERHEIGHT)+INTERHEIGHT,d3
move.l vi,BevelBoxTags+4
lea.l BevelBoxTags,a1
lib GadTools,DrawBevelBoxA
;Clear area for help text
move.l RP1,a1
move.l #MainLeft-INTERWIDTH,d0
move.l #HelpTop,d1
move.l #MainLeft-INTERWIDTH+SliderWidth+SliderTxtWidth+INTERWIDTH-1,d2
move.l #HelpTop+HelpHeight,d3
lib Gfx,RectFill
;Draw a box around help text
move.l RP1,a0
move.l #MainLeft-INTERWIDTH,d0
move.l #HelpTop,d1
move.l #INTERWIDTH+SliderWidth+SliderTxtWidth,d2
move.l #HelpHeight+INTERHEIGHT-2,d3
move.l vi,BevelBoxTags+4
lea.l BevelBoxTags,a1
lib GadTools,DrawBevelBoxA
;Set APen to color 1
move.l RP1,a1
move.l #1,d0
lib Gfx,SetAPen
;Print help text
move.l RP1,a0
lea.l HelpTxt1,a1
move.l #MainLeft+2,d0
move.l #HelpTop+8,d1
lib Intuition,PrintIText
;Add gadgets to Window 1
move.l Window1,a0
move.l glist,a1
sub.l a2,a2
move.l #-1,d0
move.l #-1,d1
lib Intuition,AddGList
bsr RefreshGads
;Start of main loop
Window1IDCMP: move.l Window1,a0
bsr CheckIDCMP
cmp.l #CLOSEWINDOW,d2 ;gets fake closewindow only...
beq ShutDown
cmp.l #MENUPICK,d2
beq Win1Menus
bra Window1IDCMP
Win1Menus: bsr MenuNull
cmp.w #$00,d6
beq Win1Menus1
bra Window1IDCMP
Win1Menus1: cmp.w #$00,d5
beq About
cmp.w #$02,d5
beq ShutDown
bra Window1IDCMP
SliderHook1: push d2-d7/a2-a6
clr.l d4
move.w d0,d4
move.l d4,Red
bra SliderHook_OUT
SliderHook2: push d2-d7/a2-a6
clr.l d4
move.w d0,d4
move.l d4,Green
bra SliderHook_OUT
SliderHook3: push d2-d7/a2-a6
clr.l d4
move.w d0,d4
move.l d4,Blue
bra SliderHook_OUT
SliderHook_OUT: move.l VP1,a0
move.l #BGPen,d0
move.l Red,d1
move.l Green,d2
move.l Blue,d3
lib Gfx,SetRGB4
move.l d4,d0
pull d2-d7/a2-a6
rts
About: bsr SleepPointer
bsr MenusOff
move.l Window1,a0
lea.l AboutTxt1,a1
sub.l a2,a2 ;positive text
lea.l OKTxt,a3 ;a bit the wrong way around but...
move.l #$00,d0
move.l #$00,d1
move.l #320,d2
move.l #$50,d3
lib Intuition,AutoRequest
bsr MenusOn
bsr NormalPointer
bra Window1IDCMP
ShutDown: tst.l OldTaskWinPtr
beq ShutDown3000
move.l OurTask,a0
move.l OldTaskWinPtr,pr_WindowPtr(a0)
ShutDown3000: tst.l CONFile
beq ShutDown2000
move.l CONFile,d1
lib Dos,Close
ShutDown2000: tst.l _IntuitionBase
beq ShutDown1950
lib Intuition,OpenWorkBench
ShutDown1950: tst.l Window1
beq ShutDown1900
move.l Window1,a0
lib Intuition,ClearMenuStrip
move.l Window1,a0
bsr ClearMSGs
ShutDown1900: bsr Clean2.0Magic
tst.l Screen1
beq ShutDown1000
move.l Screen1,a0
lib Intuition,CloseScreen
ShutDown1100:
ShutDown1000: move.l WBMsg,d2
beq ShutDown_OUT
lib Exec,Forbid
move.l d2,a1
flib Exec,ReplyMsg
ShutDown_OUT: closlib GadTools
closlib Gfx
closlib Intuition
closlib Dos
pull d2-d7/a2-a6
move.l #RETURN_OK,d0
rts
;Subroutines should be here...
RefreshGads: move.l glist,a0
move.l Window1,a1
sub.l a2,a2
move.l #-1,d0
lib Intuition,RefreshGList
move.l Window1,a0
sub.l a1,a1
lib GadTools,GT_RefreshWindow
rts
SleepPointer: move.l Window1,a0
lea.l ClockPointer1,a1
move.l #16,d0
move.l #16,d1 ;WHAT-THE-HECK IS THIS FOR?
move.l #-6,d2
move.l #0,d3
lib Intuition,SetPointer
rts
NormalPointer: move.l Window1,a0
lib Intuition,ClearPointer
rts
MenusOn: move.l Window1,a0
move.l mlist,a1
lib Intuition,SetMenuStrip
rts
MenusOff: move.l Window1,a0
lib Intuition,ClearMenuStrip
rts
;CheckIDCMP gets messages from both the CTRL_C bit and Intuition.
; a0 = window structure
CheckIDCMP: move.l $56(a0),a2 ;Get window's port
move.l #0,d1 ;Set signals for
move.b $0f(a2),d1 ;IntuiMessages
move.l #SIGBREAKF_CTRL_C,d0 ;and for CTRL_C check
bset.l d1,d0
lib Exec,Wait
cmp.l #SIGBREAKF_CTRL_C,d0
beq Break
GetMsg1: move.l a2,a0
lib GadTools,GT_GetIMsg
tst.l d0
beq GetMsg2
move.l d0,a1
move.l $14(a1),d2 ;answers with Class in d2,
move.w $18(a1),d3 ;Code in d3 and
move.w $1a(a1),a4 ;Qualifier in a4
move.l $1c(a1),a5 ;IAddress in a5
lib GadTools,GT_ReplyIMsg
bra GetMsg1
GetMsg2: move.l #-1,d0
rts
;Newer MenuNull subroutine
MenuNull: move.w d3,d0
and.w #$1f,d0
move.w d0,d6
move.w d3,d0
lsr.w #5,d0
move.w d0,d1
and.w #$3f,d0
move.w d0,d5
lsr.w #6,d1
move.w d1,d4
rts
;ClearMsgs subroutine
;a3 = window structure
ClearMSGs: lib Exec,Forbid
move.l Window1,a3
move.l $56(a3),a2
ClearMsg1: move.l a2,a0
lib GadTools,GT_GetIMsg
tst.l d0
beq ClearMsg2
move.l d0,a1
flib GadTools,GT_ReplyIMsg
bra ClearMsg1
ClearMsg2: move.l a3,a0
lib Intuition,CloseWindow
lib Exec,Permit
ClearMsg3: rts
Clean2.0Magic: tst.l glist
beq Clean2.0M2
move.l glist,a0
lib GadTools,FreeGadgets
Clean2.0M2: tst.l mlist
beq Clean2.0M3
move.l mlist,a0
lib GadTools,FreeMenus
Clean2.0M3: tst.l vi
beq Clean2.0_OUT
move.l vi,a0
lib GadTools,FreeVisualInfo
Clean2.0_OUT: rts
NoDos: pull a0
pull d2-d7/a2-a6
move.l #RETURN_FAIL,d0
rts
Usage: lea.l UsageText1,a0
bsr Printer
bra ShutDown
NoGT: lea.l NoGTText1,a0
bsr Printer
bra ShutDown
NoInt: lea.l NoIntText1,a0
bsr Printer
bra ShutDown
NoGfx: lea.l NoGfxText1,a0
bsr Printer
bra ShutDown
NoScreen: lea.l NoScreenText1,a0
bsr Printer
bra ShutDown
NoWindow: lea.l NoWindowText1,a0
bsr Printer
bra ShutDown
NoContextGad: lea.l NoContextText1,a0
bsr Printer
bra ShutDown
NoMenus: lea.l NoMenusText1,a0
bsr Printer
bra ShutDown
NoCON: lea.l NoCONText1,a0
bsr Printer
bra ShutDown
Break: lea.l BreakText1,a0
bsr Printer
move.l #CLOSEWINDOW,d2 ;fake closewindow...
move.l #-1,d0
rts
Printer: printa a0,_stdout
rts
;Reservations
;Library stuff
libnames
;GadTools stuff
vi: dc.l 0 ;Visual Info
mlist: dc.l 0
ContextGad: dc.l 0
SliderGad1: dc.l 0
SliderGad2: dc.l 0
SliderGad3: dc.l 0
;WB Stuff
WBMsg: dc.l 0
;Display stuff
Screen1: dc.l 0
VP1: dc.l 0
Window1: dc.l 0
RP1: dc.l 0
Red: dc.l 0
Green: dc.l 0
Blue: dc.l 0
;Task stuff
OurTask: dc.l 0
OldTaskWinPtr: dc.l 0
;File stuff
CONFile: dc.l 0
_stdout: dc.l 0
;Strings
BreakText1: dc.b "***Keskeytys: VäriPaletti",13,10,0
NoGTText1: dc.b "VIRHE: Ei kyetty avaamaan: gadtools.librarya!",13,10,0
NoIntText1: dc.b "VIRHE: Ei kyetty avaamaan: intuition.library!",13,10,0
NoGfxText1: dc.b "VIRHE: Ei kyetty avaamaan: graphics.library!",13,10,0
NoScreenText1: dc.b "VIRHE: Ei kyetty avaamaan ruutua!",13,10,0
NoContextText1: dc.b "VIRHE: Ei kyetty luomaan: context gadget!",13,10,0
NoMenusText1: dc.b "VIRHE: Ei kyetty varaamaan valikkostruktuuria!",13,10,0
NoWindowText1: dc.b "VIRHE: Ei kyetty avaamaan ikkunaa!",13,10,0
NoCONText1: dc.b "VIRHE: Ei kyetty avaamaan: 'CON:'!",13,10,0
NoMemText1: dc.b "VIRHE: Ei riittävästi muistia!",0
RMVersion: dc.b "$VER: "
UsageText1: dc.b "Väripaletti 1.01 (18.04.93) (C)opyright Tomi Blinnikka 1993",13,10,13,10
; dc.b 10,"*** BETA-TESTAAJA VERSIO ***",13,10,13,10,13,10
dc.b "KÄYTTÖ: VäriPaletti",13,10,13,10,13,10
dc.b "Tämä ohjelma vaati KickStart 2.04 tai uudemman.",13,10,13,10,0
TTName1: dc.b "Väripaletti, (C)opyright Tomi Blinnikka 1993.",0
AboutText1: dc.b "Nimi : Väripaletti",0
AboutText2: dc.b "Versio : 1.01",0
AboutText3: dc.b "Tekijä : Tomi Blinnikka",0
AboutText4: dc.b " (C)opyright 1993",0
OKText1: dc.b "OK",0
CancelText1: dc.b "Peru",0
FString1: dc.b "Punainen: %ld / 15 ",0
FString2: dc.b "Vihreä : %ld / 15 ",0
FString3: dc.b "Sininen : %ld / 15 ",0
HelpText1: dc.b "1. Valitse säädettävä värikomponentti.",0
HelpText2: dc.b "2. Siirrä nuolta hiiren avulla liukusääti-",0
HelpText3: dc.b " messä olevan mustan laatikon päälle.",0
HelpText4: dc.b "3. Paina vasenta hiiren nappia ja pidä",0
HelpText5: dc.b " sitä pohjassa.",0
HelpText6: dc.b "4. Siirrä hiirtä vasemmalle tai oikealle.",0
;File strings
CONName: dc.b "CON:0/25/640/150/Output Window/AUTO/WAIT",0
ds.w 0
;Structures
NewScreen1: dc.w 0,0 ;X,Y POS
dc.w -1 ;WIDTH
dc.w -1 ;HEIGHT
dc.w Depth ;DEPTH
dc.b 0,1 ;COLORS
dc.w V_HIRES ;VIEWMODES
dc.w CUSTOMSCREEN ;TYPE
dc.l Topaz ;FONT
dc.l TTName1 ;DEFULT TITLE
dc.l 0 ;GADGETS
dc.l 0 ;CUSTOMBITMAP
Screen1TagList: dc.l SA_Pens,default_pens
dc.l TAG_DONE,0
default_pens: dc.w ~0
BevelBoxTags: dc.l GT_VisualInfo
dc.l 0
dc.l TAG_DONE,0
NewWindow1: dc.w 0,0 ;X,Y POS
dc.w 0 ;WIDTH
dc.w 0 ;HEIGHT
dc.b 0,1 ;PENS
dc.l SLIDERIDCMP!MENUPICK
dc.l NOCAREREFRESH!ACTIVATE!BACKDROP
dc.l 0,0 ;GADGETS, CHECKMARK
dc.l 0 ;TITLE
dc.l 0 ;SCREEN ADDRESS
dc.l 0 ;BITMAP
dc.w 0,0,0,0 ;MIN/MAX SIZE
dc.w CUSTOMSCREEN ;TYPE
;Fonts
Topaz dc.l TopazName
dc.w 8
dc.b 0
dc.b 0
TopazName dc.b "topaz.font",0
ds.w 0
;Gadgets
glist: dc.l 0 ;Next Gadget
dc.w 0 ;"hit-box" left edge
dc.w 0 ;"hit-box" top edge
dc.w 0 ;"hit-box" Width
dc.w 0 ;"hit-box" Height
dc.w 0 ;flags
dc.w 0 ;activation
dc.w 0 ;gadget type
dc.l 0 ;gadget rendering
dc.l 0 ;select rendering
dc.l 0 ;gadget text
dc.l 0 ;mutual exclude
dc.l 0 ;special info
dc.w 0 ;gadget ID (user definable)
dc.l 0 ;ptr to general purpose user data
;New GadTools gadgets
NGSliderGad1: dc.w MainLeft ;gng_LeftEdge
dc.w MainTop+0*(SliderHeight+INTERHEIGHT) ;gng_TopEdge
dc.w SliderWidth ;gng_Width
dc.w SliderHeight ;gng_Height
dc.l 0 ;gng_GadgetText
dc.l Topaz ;gng_TextAttr
dc.w 20 ;gng_GadgetID
dc.l PLACETEXT_LEFT ;gng_Flags
dc.l 0 ;gng_VisualInfo
dc.l 0 ;gng_UserData
NGSliderGad2: dc.w MainLeft ;gng_LeftEdge
dc.w MainTop+1*(SliderHeight+INTERHEIGHT) ;gng_TopEdge
dc.w SliderWidth ;gng_Width
dc.w SliderHeight ;gng_Height
dc.l 0 ;gng_GadgetText
dc.l Topaz ;gng_TextAttr
dc.w 20 ;gng_GadgetID
dc.l PLACETEXT_LEFT ;gng_Flags
dc.l 0 ;gng_VisualInfo
dc.l 0 ;gng_UserData
NGSliderGad3: dc.w MainLeft ;gng_LeftEdge
dc.w MainTop+2*(SliderHeight+INTERHEIGHT) ;gng_TopEdge
dc.w SliderWidth ;gng_Width
dc.w SliderHeight ;gng_Height
dc.l 0 ;gng_GadgetText
dc.l Topaz ;gng_TextAttr
dc.w 20 ;gng_GadgetID
dc.l PLACETEXT_LEFT ;gng_Flags
dc.l 0 ;gng_VisualInfo
dc.l 0 ;gng_UserData
;Gadget TagLists
GadTagList: dc.l GT_Underscore,'_'
dc.l TAG_DONE,0
SliderTagList1: dc.l GTSL_Min,0
dc.l GTSL_Max,15
dc.l GTSL_Level,0
dc.l GTSL_MaxLevelLen,20
dc.l GTSL_LevelFormat,FString1
dc.l GTSL_LevelPlace,PLACETEXT_RIGHT
dc.l GTSL_DispFunc,SliderHook1
dc.l TAG_DONE,0
SliderTagList2: dc.l GTSL_Min,0
dc.l GTSL_Max,15
dc.l GTSL_Level,0
dc.l GTSL_MaxLevelLen,20
dc.l GTSL_LevelFormat,FString2
dc.l GTSL_LevelPlace,PLACETEXT_RIGHT
dc.l GTSL_DispFunc,SliderHook2
dc.l TAG_DONE,0
SliderTagList3: dc.l GTSL_Min,0
dc.l GTSL_Max,15
dc.l GTSL_Level,0
dc.l GTSL_MaxLevelLen,20
dc.l GTSL_LevelFormat,FString3
dc.l GTSL_LevelPlace,PLACETEXT_RIGHT
dc.l GTSL_DispFunc,SliderHook3
dc.l TAG_DONE,0
;Menus
Menu1Name: dc.b "Projekti",0
AboutMenu1I1Text: dc.b "Tietoa...",0
AboutCommKey: dc.b "T",0
QuitMenu1I1Text: dc.b "Lopeta",0
QuitCommKey: dc.b "L",0
ds.w 0
MNProjectMenu1: dc.b NM_TITLE ;gnm_Type
dc.b 0 ;gnm_Pad
dc.l Menu1Name ;gnm_Label
dc.l 0 ;gnm_CommKey
dc.w 0 ;gnm_Flags
dc.l 0 ;gnm_MutualExclude
dc.l 0 ;gnm_UserData
MNAboutMenu1: dc.b NM_ITEM ;gnm_Type
dc.b 0 ;gnm_Pad
dc.l AboutMenu1I1Text ;gnm_Label
dc.l AboutCommKey ;gnm_CommKey
dc.w 0 ;gnm_Flags
dc.l 0 ;gnm_MutualExclude
dc.l 0 ;gnm_UserData
MNSepMenu1: dc.b NM_ITEM ;gnm_Type
dc.b 0 ;gnm_Pad
dc.l NM_BARLABEL ;gnm_Label
dc.l 0 ;gnm_CommKey
dc.w 0 ;gnm_Flags
dc.l 0 ;gnm_MutualExclude
dc.l 0 ;gnm_UserData
MNQuitNMenu1: dc.b NM_ITEM ;gnm_Type
dc.b 0 ;gnm_Pad
dc.l QuitMenu1I1Text ;gnm_Label
dc.l QuitCommKey ;gnm_CommKey
dc.w 0 ;gnm_Flags
dc.l 0 ;gnm_MutualExclude
dc.l 0 ;gnm_UserData
dc.w 0 ;ITEM_END?
;Menu TagList(s)
MenuTagList: ;dc.l GTMN_TextAttr,Topaz
dc.l GTMN_Menu,MNProjectMenu1
dc.l TAG_DONE,0
;IntuiTexts
AboutTxt1: dc.b 1,0 ;PENS
dc.w RP_JAM1 ;MODE
dc.w 10,10 ;LEFT+TOPEDGE
dc.l Topaz ;FONT
dc.l AboutText1 ;TEXT
dc.l AboutTxt2 ;NEXTTEXT
AboutTxt2: dc.b 1,0 ;PENS
dc.w RP_JAM1 ;MODE
dc.w 10,20 ;LEFT+TOPEDGE
dc.l Topaz ;FONT
dc.l AboutText2 ;TEXT
dc.l AboutTxt3 ;NEXTTEXT
AboutTxt3: dc.b 1,0 ;PENS
dc.w RP_JAM1 ;MODE
dc.w 10,30 ;LEFT+TOPEDGE
dc.l Topaz ;FONT
dc.l AboutText3 ;TEXT
dc.l AboutTxt4 ;NEXTTEXT
AboutTxt4: dc.b 1,0 ;PENS
dc.w RP_JAM1 ;MODE
dc.w 10,50 ;LEFT+TOPEDGE
dc.l Topaz ;FONT
dc.l AboutText4 ;TEXT
dc.l 0 ;NEXTTEXT
HelpTxt1: dc.b 1,0 ;PENS
dc.w RP_JAM1 ;MODE
dc.w 0,0*11 ;LEFT+TOPEDGE
dc.l Topaz ;FONT
dc.l HelpText1 ;TEXT
dc.l HelpTxt2 ;NEXTTEXT
HelpTxt2: dc.b 1,0 ;PENS
dc.w RP_JAM1 ;MODE
dc.w 0,1*11+4 ;LEFT+TOPEDGE
dc.l Topaz ;FONT
dc.l HelpText2 ;TEXT
dc.l HelpTxt3 ;NEXTTEXT
HelpTxt3: dc.b 1,0 ;PENS
dc.w RP_JAM1 ;MODE
dc.w 0,2*11+2 ;LEFT+TOPEDGE
dc.l Topaz ;FONT
dc.l HelpText3 ;TEXT
dc.l HelpTxt4 ;NEXTTEXT
HelpTxt4: dc.b 1,0 ;PENS
dc.w RP_JAM1 ;MODE
dc.w 0,3*11+4 ;LEFT+TOPEDGE
dc.l Topaz ;FONT
dc.l HelpText4 ;TEXT
dc.l HelpTxt5 ;NEXTTEXT
HelpTxt5: dc.b 1,0 ;PENS
dc.w RP_JAM1 ;MODE
dc.w 0,4*11+2 ;LEFT+TOPEDGE
dc.l Topaz ;FONT
dc.l HelpText5 ;TEXT
dc.l HelpTxt6 ;NEXTTEXT
HelpTxt6: dc.b 1,0 ;PENS
dc.w RP_JAM1 ;MODE
dc.w 0,5*11+4 ;LEFT+TOPEDGE
dc.l Topaz ;FONT
dc.l HelpText6 ;TEXT
dc.l 0 ;NEXTTEXT
OKTxt: dc.b 1,0 ;PENS
dc.w RP_JAM1 ;MODE
dc.w 1,1 ;LEFT+TOPEDGE
dc.l 0 ;FONT
dc.l OKText1 ;TEXT
dc.l 0 ;NEXTTEXT
CancelTxt: dc.b 1,0 ;PENS
dc.w RP_JAM1 ;MODE
dc.w 1,1 ;LEFT+TOPEDGE
dc.l 0 ;FONT
dc.l CancelText1 ;TEXT
dc.l 0 ;NEXTTEXT
NoMemTxt1: dc.b 1,0 ;PENS
dc.w RP_JAM1 ;MODE
dc.w 1,1 ;LEFT+TOPEDGE
dc.l 0 ;FONT
dc.l NoMemText1 ;TEXT
dc.l 0 ;NEXTTEXT
Section VP,DATA,CHIP
ds.w 0
ClockPointer1: dc.w $0000,$0000
dc.w $0400,$07C0,$0000,$07C0,$0100,$0380,$0000,$07E0
dc.w $07C0,$1FF8,$1FF0,$3FEC,$3FF8,$7FDE,$3FF8,$7FBE
dc.w $7FFC,$FF7F,$7EFC,$FFFF,$7FFC,$FFFF,$3FF8,$7FFE
dc.w $3FF8,$7FFE,$1FF0,$3FFC,$07C0,$1FF8,$0000,$07E0
dc.w $0000,$0000
END